1
クロスプラットフォームGPU計算への道
AI022Lesson 4
00:00

この ポータビリティ向け異種コンピューティングインターフェース(HIP) NVIDIAとAMDの両方のGPU用に統合されたコードベースを提供する、ハードウェアレイヤーを抽象化するC++ランタイムAPIを提供します。このアプローチにより、CUDA環境を模倣しながらROCmバックエンドをターゲットとするため、ベンダーによる縛りが解消されます。 ROCm バックエンドです。

1. 環境設定

初期化は、 hipcc コンパイラが正しいツールチェインを指すように環境変数を設定することから始まります:

$ export HIP_PATH=[MYHIP]
$ export PATH=$PATH:[MYHIP]/bin

2. ツールチェインの標準化

この hipcc コンパイラはスマートラッパーとして機能します。ビルド自動化のために、 HIP_PATH ?= $(shell hipconfig --path) ロジックにより、システム構成に関係なく、Makefileが動的にHIPインストール先を検出できるようになります。

3. バージョン管理ロジック

HIPは、リリース間で機能の可用性をプログラム的に処理するために、決定論的なバージョン管理式を使用します:

$$\text{HIP\_VERSION} = \text{HIP\_VERSION\_MAJOR} \times 10^7 + \text{HIP\_VERSION\_MINOR} \times 10^5 + \text{HIP\_VERSION\_PATCH}$$

HIPソースコードNVIDIA(NVCC)AMD(Clang/ROCm)

4. コアランタイム同等機能

HIPは hipMalloc および hipLaunchKernel CUDAのメモリおよび実行呼び出しの機能的鏡像として提供し、「シングルソース」開発哲学を可能にします。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>